{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "88073b76",
   "metadata": {},
   "source": [
    "## Fetching historic futures data with the OpenBB Platform"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "4f5b57eb",
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "from IPython.display import display\n",
    "from openbb import obb"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "5dbd6c61-f48d-4a1c-bcce-9b0560a6622c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "OpenBB Platform v4.2.1\n",
      "\n",
      "Utilities:\n",
      "    /account\n",
      "    /user\n",
      "    /system\n",
      "    /coverage\n",
      "\n",
      "Routers:\n",
      "    /commodity\n",
      "    /crypto\n",
      "    /currency\n",
      "    /derivatives\n",
      "    /econometrics\n",
      "    /economy\n",
      "    /equity\n",
      "    /etf\n",
      "    /fixedincome\n",
      "    /index\n",
      "    /news\n",
      "    /quantitative\n",
      "    /regulators\n",
      "    /technical\n",
      "\n",
      "Extensions:\n",
      "    - commodity@1.1.1\n",
      "    - crypto@1.2.1\n",
      "    - currency@1.2.1\n",
      "    - derivatives@1.2.1\n",
      "    - econometrics@1.2.1\n",
      "    - economy@1.2.1\n",
      "    - equity@1.2.1\n",
      "    - etf@1.2.1\n",
      "    - fixedincome@1.2.1\n",
      "    - index@1.2.1\n",
      "    - news@1.2.1\n",
      "    - quantitative@1.2.1\n",
      "    - regulators@1.2.1\n",
      "    - technical@1.2.1\n",
      "\n",
      "    - alpha_vantage@1.2.1\n",
      "    - benzinga@1.2.1\n",
      "    - biztoc@1.2.1\n",
      "    - cboe@1.2.1\n",
      "    - ecb@1.2.1\n",
      "    - econdb@1.1.1\n",
      "    - federal_reserve@1.2.1\n",
      "    - finra@1.2.1\n",
      "    - finviz@1.1.1\n",
      "    - fmp@1.2.1\n",
      "    - fred@1.2.1\n",
      "    - government_us@1.2.1\n",
      "    - intrinio@1.2.1\n",
      "    - nasdaq@1.2.1\n",
      "    - oecd@1.2.1\n",
      "    - polygon@1.2.1\n",
      "    - sec@1.2.1\n",
      "    - seeking_alpha@1.2.1\n",
      "    - stockgrid@1.2.1\n",
      "    - tiingo@1.2.1\n",
      "    - tmx@1.1.1\n",
      "    - tradier@1.1.1\n",
      "    - tradingeconomics@1.2.1\n",
      "    - wsj@1.2.1\n",
      "    - yfinance@1.2.1    \n"
     ]
    }
   ],
   "source": [
    "print(obb)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "4e0461e6",
   "metadata": {},
   "outputs": [],
   "source": [
    "obb.user.preferences.output_type = \"dataframe\""
   ]
  },
  {
   "cell_type": "markdown",
   "id": "18b5af17",
   "metadata": {},
   "source": [
    "Fetches the futures curve data for the symbol \"VX\" and stores it in 'data'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "1e1fe30e",
   "metadata": {},
   "outputs": [],
   "source": [
    "data = obb.derivatives.futures.curve(symbol=\"VX\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "d4ad18d0",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>expiration</th>\n",
       "      <th>price</th>\n",
       "      <th>symbol</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2024-06-18</td>\n",
       "      <td>12.3900</td>\n",
       "      <td>VX/M4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2024-06-26</td>\n",
       "      <td>13.2250</td>\n",
       "      <td>VX26/M4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2024-07-03</td>\n",
       "      <td>14.1000</td>\n",
       "      <td>VX27/N4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2024-07-10</td>\n",
       "      <td>14.4750</td>\n",
       "      <td>VX28/N4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2024-07-17</td>\n",
       "      <td>14.2961</td>\n",
       "      <td>VX/N4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2024-07-24</td>\n",
       "      <td>15.0750</td>\n",
       "      <td>VX30/N4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2024-07-31</td>\n",
       "      <td>15.0750</td>\n",
       "      <td>VX31/N4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2024-08-21</td>\n",
       "      <td>15.2964</td>\n",
       "      <td>VX/Q4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>2024-09-18</td>\n",
       "      <td>16.0063</td>\n",
       "      <td>VX/U4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>2024-10-16</td>\n",
       "      <td>18.3503</td>\n",
       "      <td>VX/V4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>2024-11-20</td>\n",
       "      <td>17.4898</td>\n",
       "      <td>VX/X4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>2024-12-18</td>\n",
       "      <td>17.4000</td>\n",
       "      <td>VX/Z4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>2025-01-22</td>\n",
       "      <td>18.0250</td>\n",
       "      <td>VX/F5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>2025-02-19</td>\n",
       "      <td>18.2500</td>\n",
       "      <td>VX/G5</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    expiration    price   symbol\n",
       "0   2024-06-18  12.3900    VX/M4\n",
       "1   2024-06-26  13.2250  VX26/M4\n",
       "2   2024-07-03  14.1000  VX27/N4\n",
       "3   2024-07-10  14.4750  VX28/N4\n",
       "4   2024-07-17  14.2961    VX/N4\n",
       "5   2024-07-24  15.0750  VX30/N4\n",
       "6   2024-07-31  15.0750  VX31/N4\n",
       "7   2024-08-21  15.2964    VX/Q4\n",
       "8   2024-09-18  16.0063    VX/U4\n",
       "9   2024-10-16  18.3503    VX/V4\n",
       "10  2024-11-20  17.4898    VX/X4\n",
       "11  2024-12-18  17.4000    VX/Z4\n",
       "12  2025-01-22  18.0250    VX/F5\n",
       "13  2025-02-19  18.2500    VX/G5"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "display(data)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7fc20f7a",
   "metadata": {},
   "source": [
    "Converts the 'expiration' column to datetime format and sets it as the index of 'data'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "9323a022",
   "metadata": {},
   "outputs": [],
   "source": [
    "data.index = pd.to_datetime(data.expiration)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8bb849e2",
   "metadata": {},
   "source": [
    "Plots the data with the new datetime index"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "9c4ab255",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: xlabel='expiration'>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c78511c5",
   "metadata": {},
   "source": [
    "Fetches historical futures data for the symbol \"CL\" within the specified date range and stores it in 'data'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "b6b1e46d",
   "metadata": {},
   "outputs": [],
   "source": [
    "data = obb.derivatives.futures.historical(\n",
    "    \"CL\", start_date=\"2020-01-01\", end_date=\"2022-12-31\"\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "b39a30ab",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>open</th>\n",
       "      <th>high</th>\n",
       "      <th>low</th>\n",
       "      <th>close</th>\n",
       "      <th>volume</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2000-08-23</th>\n",
       "      <td>31.950001</td>\n",
       "      <td>32.799999</td>\n",
       "      <td>31.950001</td>\n",
       "      <td>32.049999</td>\n",
       "      <td>79385.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-08-24</th>\n",
       "      <td>31.900000</td>\n",
       "      <td>32.240002</td>\n",
       "      <td>31.400000</td>\n",
       "      <td>31.629999</td>\n",
       "      <td>72978.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-08-25</th>\n",
       "      <td>31.700001</td>\n",
       "      <td>32.099998</td>\n",
       "      <td>31.320000</td>\n",
       "      <td>32.049999</td>\n",
       "      <td>44601.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-08-28</th>\n",
       "      <td>32.040001</td>\n",
       "      <td>32.919998</td>\n",
       "      <td>31.860001</td>\n",
       "      <td>32.869999</td>\n",
       "      <td>46770.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2000-08-29</th>\n",
       "      <td>32.820000</td>\n",
       "      <td>33.029999</td>\n",
       "      <td>32.560001</td>\n",
       "      <td>32.720001</td>\n",
       "      <td>49131.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2024-06-13</th>\n",
       "      <td>78.370003</td>\n",
       "      <td>78.889999</td>\n",
       "      <td>77.669998</td>\n",
       "      <td>78.620003</td>\n",
       "      <td>307638.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2024-06-14</th>\n",
       "      <td>77.959999</td>\n",
       "      <td>79.150002</td>\n",
       "      <td>77.730003</td>\n",
       "      <td>78.449997</td>\n",
       "      <td>245827.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2024-06-17</th>\n",
       "      <td>78.480003</td>\n",
       "      <td>80.660004</td>\n",
       "      <td>77.980003</td>\n",
       "      <td>80.330002</td>\n",
       "      <td>126733.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2024-06-18</th>\n",
       "      <td>80.430000</td>\n",
       "      <td>81.669998</td>\n",
       "      <td>79.769997</td>\n",
       "      <td>81.570000</td>\n",
       "      <td>126733.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2024-06-19</th>\n",
       "      <td>81.519997</td>\n",
       "      <td>81.959999</td>\n",
       "      <td>81.129997</td>\n",
       "      <td>81.470001</td>\n",
       "      <td>2533.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5981 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "                 open       high        low      close    volume\n",
       "date                                                            \n",
       "2000-08-23  31.950001  32.799999  31.950001  32.049999   79385.0\n",
       "2000-08-24  31.900000  32.240002  31.400000  31.629999   72978.0\n",
       "2000-08-25  31.700001  32.099998  31.320000  32.049999   44601.0\n",
       "2000-08-28  32.040001  32.919998  31.860001  32.869999   46770.0\n",
       "2000-08-29  32.820000  33.029999  32.560001  32.720001   49131.0\n",
       "...               ...        ...        ...        ...       ...\n",
       "2024-06-13  78.370003  78.889999  77.669998  78.620003  307638.0\n",
       "2024-06-14  77.959999  79.150002  77.730003  78.449997  245827.0\n",
       "2024-06-17  78.480003  80.660004  77.980003  80.330002  126733.0\n",
       "2024-06-18  80.430000  81.669998  79.769997  81.570000  126733.0\n",
       "2024-06-19  81.519997  81.959999  81.129997  81.470001    2533.0\n",
       "\n",
       "[5981 rows x 5 columns]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "display(data)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0988ab77",
   "metadata": {},
   "source": [
    "Defines a list of expiration dates for future contracts"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "c42f2ad7",
   "metadata": {},
   "outputs": [],
   "source": [
    "expirations = [\n",
    "    \"2024-12\",\n",
    "    \"2025-12\",\n",
    "    \"2026-12\",\n",
    "    \"2027-12\",\n",
    "    \"2028-12\",\n",
    "    \"2029-12\",\n",
    "    \"2030-12\",\n",
    "]"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "92cc0ab8",
   "metadata": {},
   "source": [
    "Initializes an empty list to store individual contract data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "d5ecb3c6",
   "metadata": {},
   "outputs": [],
   "source": [
    "contracts = []"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2e5eddd1",
   "metadata": {},
   "source": [
    "Iterates over each expiration date, fetching and renaming historical futures data for \"CL\", and appends it to 'contracts'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "7ff1e042",
   "metadata": {},
   "outputs": [],
   "source": [
    "for expiration in expirations:\n",
    "    df = (\n",
    "        obb.derivatives.futures.historical(\n",
    "            symbol=\"CL\",\n",
    "            expiration=expiration,\n",
    "            start_date=\"2020-01-01\",\n",
    "            end_date=\"2022-12-31\",\n",
    "        )\n",
    "    ).rename(columns={\"close\": expiration})\n",
    "    contracts.append(df[expiration])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bf3908a5",
   "metadata": {},
   "source": [
    "Combines the individual contract data into a single DataFrame, transposes it, and drops any rows with missing values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "0ab1d8e2",
   "metadata": {},
   "outputs": [],
   "source": [
    "historical = pd.DataFrame(contracts).transpose().dropna()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "cb92274c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2024-12</th>\n",
       "      <th>2025-12</th>\n",
       "      <th>2026-12</th>\n",
       "      <th>2027-12</th>\n",
       "      <th>2028-12</th>\n",
       "      <th>2029-12</th>\n",
       "      <th>2030-12</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>date</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>2020-01-24</th>\n",
       "      <td>50.139999</td>\n",
       "      <td>50.700001</td>\n",
       "      <td>51.560001</td>\n",
       "      <td>51.630001</td>\n",
       "      <td>51.630001</td>\n",
       "      <td>51.630001</td>\n",
       "      <td>51.630001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-01-27</th>\n",
       "      <td>50.599998</td>\n",
       "      <td>51.180000</td>\n",
       "      <td>51.049999</td>\n",
       "      <td>51.119999</td>\n",
       "      <td>51.119999</td>\n",
       "      <td>51.119999</td>\n",
       "      <td>51.119999</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-01-28</th>\n",
       "      <td>50.779999</td>\n",
       "      <td>51.230000</td>\n",
       "      <td>51.549999</td>\n",
       "      <td>51.619999</td>\n",
       "      <td>51.619999</td>\n",
       "      <td>51.619999</td>\n",
       "      <td>51.619999</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-01-29</th>\n",
       "      <td>50.639999</td>\n",
       "      <td>51.130001</td>\n",
       "      <td>51.599998</td>\n",
       "      <td>51.669998</td>\n",
       "      <td>51.669998</td>\n",
       "      <td>51.669998</td>\n",
       "      <td>51.669998</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2020-01-30</th>\n",
       "      <td>50.910000</td>\n",
       "      <td>51.439999</td>\n",
       "      <td>51.490002</td>\n",
       "      <td>51.560001</td>\n",
       "      <td>51.560001</td>\n",
       "      <td>51.560001</td>\n",
       "      <td>51.560001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2024-06-12</th>\n",
       "      <td>76.040001</td>\n",
       "      <td>71.699997</td>\n",
       "      <td>68.820000</td>\n",
       "      <td>66.800003</td>\n",
       "      <td>65.400002</td>\n",
       "      <td>64.510002</td>\n",
       "      <td>63.939999</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2024-06-13</th>\n",
       "      <td>76.250000</td>\n",
       "      <td>71.809998</td>\n",
       "      <td>68.849998</td>\n",
       "      <td>66.820000</td>\n",
       "      <td>65.410004</td>\n",
       "      <td>64.519997</td>\n",
       "      <td>63.950001</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2024-06-14</th>\n",
       "      <td>75.870003</td>\n",
       "      <td>71.410004</td>\n",
       "      <td>68.510002</td>\n",
       "      <td>66.559998</td>\n",
       "      <td>65.230003</td>\n",
       "      <td>64.339996</td>\n",
       "      <td>63.770000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2024-06-17</th>\n",
       "      <td>76.900002</td>\n",
       "      <td>71.599998</td>\n",
       "      <td>68.410004</td>\n",
       "      <td>66.339996</td>\n",
       "      <td>64.980003</td>\n",
       "      <td>64.089996</td>\n",
       "      <td>63.520000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2024-06-18</th>\n",
       "      <td>77.870003</td>\n",
       "      <td>72.550003</td>\n",
       "      <td>69.300003</td>\n",
       "      <td>66.550003</td>\n",
       "      <td>65.750000</td>\n",
       "      <td>64.800003</td>\n",
       "      <td>64.379997</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1103 rows × 7 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "              2024-12    2025-12    2026-12    2027-12    2028-12    2029-12  \\\n",
       "date                                                                           \n",
       "2020-01-24  50.139999  50.700001  51.560001  51.630001  51.630001  51.630001   \n",
       "2020-01-27  50.599998  51.180000  51.049999  51.119999  51.119999  51.119999   \n",
       "2020-01-28  50.779999  51.230000  51.549999  51.619999  51.619999  51.619999   \n",
       "2020-01-29  50.639999  51.130001  51.599998  51.669998  51.669998  51.669998   \n",
       "2020-01-30  50.910000  51.439999  51.490002  51.560001  51.560001  51.560001   \n",
       "...               ...        ...        ...        ...        ...        ...   \n",
       "2024-06-12  76.040001  71.699997  68.820000  66.800003  65.400002  64.510002   \n",
       "2024-06-13  76.250000  71.809998  68.849998  66.820000  65.410004  64.519997   \n",
       "2024-06-14  75.870003  71.410004  68.510002  66.559998  65.230003  64.339996   \n",
       "2024-06-17  76.900002  71.599998  68.410004  66.339996  64.980003  64.089996   \n",
       "2024-06-18  77.870003  72.550003  69.300003  66.550003  65.750000  64.800003   \n",
       "\n",
       "              2030-12  \n",
       "date                   \n",
       "2020-01-24  51.630001  \n",
       "2020-01-27  51.119999  \n",
       "2020-01-28  51.619999  \n",
       "2020-01-29  51.669998  \n",
       "2020-01-30  51.560001  \n",
       "...               ...  \n",
       "2024-06-12  63.939999  \n",
       "2024-06-13  63.950001  \n",
       "2024-06-14  63.770000  \n",
       "2024-06-17  63.520000  \n",
       "2024-06-18  64.379997  \n",
       "\n",
       "[1103 rows x 7 columns]"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "display(historical)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "006360a4",
   "metadata": {},
   "source": [
    "Plots the data for the most recent historical contract"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "825fc3ac",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Axes: >"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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RUUF1OrWrUZs1OOb9lBVVQUAHBpMRERkgaqqqlodSszuTolOp0NBQQHc3NwgSZJJr30xxfEuzI2xrVqObdVybCvjsL1ajm3Vcm3VVkIIVFVVITAwEApF69b7Nbs7JQqFAkFBQW36Ghx63HJsq5ZjW7Uc28o4bK+WY1u1XFu0VWvvkFzUuihDREREZGIMJURERGQWbCqUqFQqvP7661CpVHKXYvbYVi3Htmo5tpVx2F4tx7ZqOXNuK7Pr6EpERES2yabulBAREZH5YighIiIis8BQQkRERGaBoYSIiIjMguyhZO7cubjtttvg5uYGX19fPPjggzh58qTBOXV1dZg2bRq8vLzg6uqKkSNHoqioSH/8zz//xNixYxEcHAwnJydERUXh448/vuZr7tq1C0qlErfeeusN6/vpp58wdOhQeHl5QZIkHD582OB4WVkZnn32WURGRsLJyQkhISGYPn06KisrjWqHlmivttq2bRskSbpiKywsvG595tRWQPt+trRaLV555RWEhoZCpVIhLCwMixcvvm59f/zxB+677z4EBgZCkiSsWbPG4HhDQwNefPFFdO/eHS4uLggMDMRjjz2GgoKC1jfKNbRXW02cOPGqn62YmJjr1mdOn632/Fx988036NmzJ5ydnREQEIDExESUlpZetz5b/FwBwPz58xEVFQUnJydERkZi6dKlN6zP2tqqtLQUd999NwIDA6FSqRAcHIxnnnkGGo3G4Drbtm1D7969oVKpEBERga+//vqG9bXbd1DIbNiwYSIpKUkcPXpUHD58WNxzzz0iJCREnD9/Xn/OlClTRHBwsNi8ebPYv3+/6N+/v4iPj9cfX7RokZg+fbrYtm2byMrKEsuWLRNOTk7i008/veL1ysvLRefOncXQoUNFz549b1jf0qVLxZtvvim++uorAUAcOnTI4PiRI0fEww8/LNauXSsyMzPF5s2bRZcuXcTIkSNb3SbX0l5ttXXrVgFAnDx5Upw9e1a/NTU1Xbc+c2orIdr3s3X//feLfv36iU2bNolTp06JlJQUsXPnzuvW99tvv4lXXnlF/PTTTwKAWL16tcHxiooKkZCQIL7//ntx4sQJkZqaKvr27Sv69Olz843zN+3VVhUVFQafqby8POHp6Slef/3169ZnTp+t9mqrnTt3CoVCIT7++GORnZ0tduzYIWJiYsRDDz103fps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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "historical.iloc[-1].plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "836773a2",
   "metadata": {},
   "source": [
    "**Jason Strimpel** is the founder of <a href='https://pyquantnews.com/'>PyQuant News</a> and co-founder of <a href='https://www.tradeblotter.io/'>Trade Blotter</a>. His career in algorithmic trading spans 20+ years. He previously traded for a Chicago-based hedge fund, was a risk manager at JPMorgan, and managed production risk technology for an energy derivatives trading firm in London. In Singapore, he served as APAC CIO for an agricultural trading firm and built the data science team for a global metals trading firm. Jason holds degrees in Finance and Economics and a Master's in Quantitative Finance from the Illinois Institute of Technology. His career spans America, Europe, and Asia. He shares his expertise through the <a href='https://pyquantnews.com/subscribe-to-the-pyquant-newsletter/'>PyQuant Newsletter</a>, social media, and has taught over 1,000+ algorithmic trading with Python in his popular course **<a href='https://gettingstartedwithpythonforquantfinance.com/'>Getting Started With Python for Quant Finance</a>**. All code is for educational purposes only. Nothing provided here is financial advise. Use at your own risk."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "3ee373a5-d06f-49fb-98e5-bc8d3f32b568",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "jupytext": {
   "cell_metadata_filter": "-all",
   "main_language": "python",
   "notebook_metadata_filter": "-all"
  },
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
